Chart for WPF/Silverlight
線とドットのマーカー
グラフ機能 > マーカーとラベル > 線とドットのマーカー

面グラフや折れ線グラフでは、X 軸または Y 軸全体とデータポイントをマークするマーカーがほしい場合があります。次の図に、そのような線とドットのマーカーの例を示します。

このようなマーカーを作成するために設定するプロパティとして最も重要なものの1つは、VerticalAlignment プロパティです。このプロパティを "Stretch" に設定すると、マーカーがプロットの高さ全体に引き伸ばされて垂直線になります。マークアップで、次のプロパティを設定します。

データポイントの Y の値を NaN に設定していることに注目してください。このように設定すると、マーカーは特定のデータポイントにアタッチしないため、垂直方向いっぱいに伸びた直線が引かれます。上の図の丸いラベルは、プロット要素上に配置される別の ChartPanelObject です。この DataPoint プロパティは NaN 以外の値に設定します。

この効果は、XAML マークアップを使用するだけで作成でき、コードは必要ありません。

XAML
コードのコピー
<!-- 垂直線とドットのマーカー -->
<c1:ChartPanelObject x:Name="vline"
                     Attach="DataX"
                     Action="MouseMove"
                     DataPoint="-1, NaN"
                     VerticalContentAlignment="Stretch"
                     HorizontalAlignment="Center">
        <Border Background="Black" BorderBrush="Black" Padding="1" BorderThickness="1 0 0 0" />
</c1:ChartPanelObject>
<c1:ChartPanelObject x:Name="dot"
                     Attach="DataX"
                     Action="MouseMove"
                     DataPoint="0.5,0.5"
                     HorizontalAlignment="Center"
                     VerticalAlignment="Center">
    <Grid DataContext="{Binding RelativeSource={x:Static RelativeSource.Self},Path=Parent}">
        <Ellipse Fill="White" Stroke="Black" StrokeThickness="1" Width="30" Height="30" />
        <TextBlock x:Name="label" Text="{Binding DataPoint.Y, StringFormat=n0}" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
    </Grid>
</c1:ChartPanelObject>

上のマークアップだけで、線とドットのチャートマーカーを作成できます。

関連トピック